<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 闭包属性封装 - 模拟 java 语言中的 setter/getter 方法
        
        var stu = function() {
            // 私有化属性
            var age = 0 ;

            return {
                getAge : function() {
                    return age ;
                },
                setAge : function(value) {
                    if(!isNaN(value) && value>=1 && value<=150) {
                        age = value ;
                    } else {
                        throw '年龄必须在1-150之间的数值'
                    }
                }
            }
        }() ;
        
        
        // console.log(stu.age);
        stu.setAge(30);
        console.log(stu.getAge());
        
        


    </script>
</body>
</html>